#pragma once

#include "smtextfuncdemo_global.h"
#include "SMTExtFuncPageUI.h"

class SMTEXTFUNCDEMO_EXPORT SMTExtFuncDemo :public SMTOperator
{
public:
	SMTExtFuncDemo();
	void *m_algorithm;


	virtual ~SMTExtFuncDemo();
	virtual long run();
	void DisplayROI(SMTShape &shape, int index);
	virtual int SettingPageCount();
	virtual SMTSettingPage* createSettingPage(int index);
	void SetPagePt(SMTExtFuncPageUI *page);
	void simpleLog(QString fileName, QString body);
private:
	void initOutPutVariables();
	void initInputVariables();
	void initProperties();
	void initSettingPages();
};

#define ADAPTER_DLL_API extern"C" __declspec(dllexport)

ADAPTER_DLL_API SMTOperator* createOperator();
ADAPTER_DLL_API void  releaseOperator(SMTOperator *opr);
